package com.campus.help.dto;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * 群发消息传输对象
 */
@Data
public class BroadcastMessageDTO {
    
    /**
     * 消息标题
     */
    @NotBlank(message = "消息标题不能为空")
    private String title;
    
    /**
     * 消息内容
     */
    @NotBlank(message = "消息内容不能为空")
    private String content;
    
    /**
     * 目标用户类型：all-所有用户, school-指定学校, user-指定用户
     */
    @NotBlank(message = "目标用户类型不能为空")
    private String targetType;
    
    /**
     * 目标学校ID列表（当targetType为school时使用）
     */
    private List<Long> targetSchoolIds;
    
    /**
     * 目标用户ID列表（当targetType为user时使用）
     */
    private List<Long> targetUserIds;
    
    /**
     * 消息优先级：1-低，2-中，3-高
     */
    private Integer priority;
    
    /**
     * 是否立即发送：true-立即发送，false-定时发送
     */
    private Boolean sendImmediately;
    
    /**
     * 定时发送时间（当sendImmediately为false时使用）
     */
    private String scheduledTime;
    
    /**
     * 发送者ID
     */
    private Long senderId;
    
    /**
     * 发送者名称
     */
    private String senderName;
}
